home *** CD-ROM | disk | FTP | other *** search
- /*
- FILE: journal driver.h
-
- The include stuff for the journal drive.
-
- */
-
- /* file included by both the driver and those programs
- that call it */
-
- #include "journalDriverInclude.h"
-
- #define NULL 0L
-
-
- /* some global data that we can use */
-
-
- #define GLOBAL_RES_TYPE 'JrDr'
- #define GLOBAL_RES_ID 1000
-
- typedef struct {
- OSType fileCreator ;
- int eventFlags ; /* future expansion for event types to trap */
- int fileRefNum ;
- int stateFlags ; /* flags used by driver */
- Str255 appName ; /* name of current application */
- } GlobalData, *PGlobalData ;
-
- #define STATE_KEY_BIT 0x0001 /* user is currently typing */
- #define STATE_DIALOG_BIT 0x0002 /* last event occured in a dialog box */
- #define STATE_WINDOW_BIT 0x0004 /* last event occured in a window */
- #define STATE_MOUSE_DESK_BIT 0x0008 /* last mouse down in desk */
- #define STATE_MOUSE_MENU_BIT 0x0010 /* last mouse down was in menu */
- #define STATE_EVENT_MOUSE 0x0020 /* last event was a mouse event */
- #define STATE_EVENT_KEY 0x0040 /* last event was a key event */
- #define STATE_EVENT_OTHER 0x0080 /* last event was something else */
- #define STATE_MOUSE_GOAWAY_BIT 0x0100 /* last event in a goAway box */
- #define STATE_MOUSE_GROW_BIT 0x0200 /* last event in grow box of window */
- #define STATE_MOUSE_DRAG_BIT 0x0400 /* last event in drag region of window */
- #define STATE_MOUSE_ZOOMIN_BIT 0x0800
- #define STATE_MOUSE_ZOOMOUT_BIT 0x1000
- #define STATE_MOUSE_CONTENT_BIT 0x2000
- /*
- #define STATE_ 0x4000
- #define STATE_ 0x8000
- */
-
-
- #define IsSet(state, flag) ((state) & flag)
- #define SetFlag(state, flag) ((state) |= flag)
- #define ClearFlag(state, flag) ((state) &= ~(flag))
-
- #define ClearMouseBits(state) ((state) &= ~(STATE_MOUSE_CONTENT_BIT | STATE_MOUSE_ZOOMOUT_BIT | STATE_MOUSE_ZOOMIN_BIT | STATE_MOUSE_DRAG_BIT | STATE_MOUSE_GROW_BIT | STATE_MOUSE_GOAWAY_BIT | STATE_MOUSE_DESK_BIT | STATE_MOUSE_MENU_BIT))
-
- /* information for the journal file */
-
- #define DEFAULT_JRNL_FILE "\pJournal File"
- #define FILE_TYPE 'TEXT'
-
- /* command constants */
-
- #define CMD_OPEN 0
- #define CMD_PRIME 1
- #define CMD_CONTROL 2
- #define CMD_STATUS 3
- #define CMD_CLOSE 4
-
- /* Control message constants. JRNL - Journaling mechanism CDEV - from my cdev */
-
- #define JRNL_PLAY_CNTRL 16
- #define JRNL_RECORD_CNTRL 17
-
- /* Sub types of JRNL control messages */
-
- #define JRNL_TICK_COUNT 0 /* call to TickCount() */
- #define JRNL_GET_MOUSE 1 /* call to GetMouse() */
- #define JRNL_BUTTON 2 /* call to Button() */
- #define JRNL_GET_KEYS 3 /* call to GetKeys() */
- #define JRNL_EVENT 4 /* call to GetNextEvent() or WaitNextEvent() */
-
- /* System globals that we need to access */
-
- #define JournalFlag 0x08DE /* word */
- #define JournalRef 0x08E8 /* word */
- #define MenuDisable 0x0B54 /* 2 words - last selected menu item */
-
-
- #define MouseMovedEvt 0xFA /* Mouse moved event code */
- #define SuspendResumeEvt 0x01 /* Suspend/Resume event code */
- #define ResumeEvtMask 0x1 /* Supend or Resume selector */
-
- /* constants to put into JournalFlag or JournalRef */
-
- #define JRNL_PLAY -1
- #define JRNL_RECORD 1
- #define JRNL_NEUTRAL 0x0000
-
-
- /* macro to print to a file */
-
- #define PrintIt(er, ref, ct, buf) (ct) = (buf)[0] ; (er) = FSWrite((ref), &(ct), (buf)+1)
-
- /* strings used to record event types */
-
- #define EV_RETURN "\p>\015"
- #define EV_ONLY_RETURN "\p\015"
-
- #define EV_APPLIC_NAME "\p<appl | "
-
- #define EV_DELIMIT "\p<"
- #define EV_END_DELIMIT "\p>"
-
-
- #define EV_CR "\p<CR>"
- #define EV_TAB "\p<TAB>"
- #define EV_BACKSPACE "\p<BS>"
- #define EV_ESCAPE "\p<ESC>"
- #define EV_UP_ARROW "\p<UP_AR>"
- #define EV_DOWN_ARROW "\p<DWN_AR>"
- #define EV_LEFT_ARROW "\p<LFT_AR>"
- #define EV_RIGHT_ARROW "\p<RGT_AR>"
- #define EV_HELP "\p<HELP>"
- #define EV_DELETE "\p<DELETE>"
- #define EV_HOME "\p<HOME>"
- #define EV_END "\p<END>"
- #define EV_PAGE_UP "\p<P_UP>"
- #define EV_PAGE_DOWN "\p<P_DWN>"
- #define EV_UNKNOWN_CTRL "\p<?CTRL?>"
- #define EV_F1 "\p<F1>"
- #define EV_F2 "\p<F2>"
- #define EV_F3 "\p<F3>"
- #define EV_F4 "\p<F4>"
- #define EV_F5 "\p<F5>"
- #define EV_F6 "\p<F6>"
- #define EV_F7 "\p<F7>"
- #define EV_F8 "\p<F8>"
- #define EV_F9 "\p<F9>"
- #define EV_F10 "\p<F10>"
- #define EV_F11 "\p<F11>"
- #define EV_F12 "\p<F12>"
- #define EV_F13 "\p<F13>"
- #define EV_F14 "\p<F14>"
- #define EV_F15 "\p<F15>"
- #define EV_RESET "\p<RESET>"
- #define EV_CLEAR "\p<CLEAR>"
- #define EV_ENTER "\p<ENTER>"
-
-
- #define EV_UPDATE "\p<update>"
- #define EV_DISK "\p<disk>"
- #define EV_NETWORK "\p<network>"
- #define EV_DRIVER "\p<driver>"
- #define EV_APP1 "\p<app1>"
- #define EV_APP2 "\p<app2>"
- #define EV_APP3 "\p<app3>"
- #define EV_MOUSE_MOVED "\p<mouseMoved>"
- #define EV_SUSPENDING "\p<suspending>"
- #define EV_RESUMING "\p<resuming>"
- #define EV_DEACTIVATE "\p<deactivate>"
- #define EV_ACTIVATE "\p<activate>"
-
- /* key stuff */
-
- #define APPLE_MENU_CHAR 20
-
- #define EV_KEY_DOWN "\p<keyDown>\015"
- #define EV_AUTO_KEY "\p<autoKey>\015"
- #define EV_MENU_TITLE "\p<Menu | "
- #define EV_APPLE_MENU "\pApple"
- #define EV_MENU_DISABLE "\p<disabled>"
- #define EV_MENU_ITEM "\p | "
- #define EV_CANCEL "\p<Used Cmd-. to cancel an action>\015"
- #define EV_CMD_KEY "\p<Cmd-"
- #define EV_KEY_WINDOW "\p\015<Action in window | "
- #define EV_KEY_DIALOG "\p\015<Action in dialog box | "
- #define EV_KEY_NO_NAME "\p<Action in unknown type of window>\015"
- #define EV_NO_WIND_NAME "\p<no title>"
-
- /* mouse stuff */
-
- #define EV_MOUSE_DOWN "\p<mDown "
- #define EV_MOUSE_UP "\p<mUp "
-
- #define EV_IN_DESK "\p<inDeskTop>\015"
- #define EV_IN_MENU_BAR "\p<inMenuBar>\015"
- #define EV_IN_SYS_WIND "\p<inSysWindow>\015"
- #define EV_IN_CONTENT "\p<inContent>\015"
- #define EV_IN_DRAG "\p<inDrag>\015"
- #define EV_IN_GROW "\p<inGrow>\015"
- #define EV_IN_GO_AWAY "\p<inGoAway>\015"
- #define EV_IN_ZOOM_IN "\p<inZoomIn>\015"
- #define EV_IN_ZOOM_OUT "\p<inZoomOut>\015"
-
- /* some stuff borrowed from CTypes.h */
-
- #define isprint(c) (((unsigned char)(c) > 31) && ((unsigned char)(c) < 127))
- #define isascii(c) ((unsigned char)(c)<=0177)
- #define islower(c) ((unsigned char)(c) & 0x20)
- #define toupper(c) ((c)-'a'+'A')
-
- /* Function prototypes */
-
- int DRVRControl(CntrlParam *ctlPB, DCtlPtr dCtl) ;
- void DoJournalRecord(CntrlParam *paramBlock) ;
- void DoMouseDown(EventRecord *eventPtr) ;
- void DoKeyDown(EventRecord *eventPtr) ;
- void WriteCdevParams(P_JrnlFileParam params) ;
- void PrintMenuTitle(char keyPress, long menuHit) ;
- void PrintWindowTitle(Boolean mustPrint) ;
- char *GetNonPrintingKey(int keyCode) ;